package com.jn.erp.web.api.student.entity.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 报读学生实体类
 */
@Data
public class EnrollmentStuDto  {

    private String id;

    @Excel(name ="名称")
    private String name;

    @Excel(name ="电话")
    @TableField(exist = false)
    private String mobile;

    // 性别
    private String gender;

    //年龄
    private String age;

    @Excel(name ="用户id")
    private String userId;

    @Excel(name ="班级名称")
    private String className;

    @Excel(name ="课程名称")
    private String courseName;

    @Excel(name ="跟进人")
    private String counselor;

    @Excel(name ="创建人")
    private Long creator;

    @Excel(name ="添加时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime addTime;

    @Excel(name ="学管师")
    private String management;


    // 总购买数量
    @Excel(name ="总购买数量")
    private Integer countLessonTotal;

    //赠送数量
    @Excel(name ="赠送数量")
    private Integer freeClassHours;

    // 已消耗数量
    @Excel(name ="已消耗数量")
    private Integer countLessonComplete;

    // 退转数量
    @Excel(name ="退转数量")
    private Integer countLessonRefund;

    //剩余课时
    @Excel(name ="剩余课时")
    private Integer remainderLesson;

    // 课消金额
    @Excel(name ="课消金额")
    private BigDecimal spendAmount;

    //剩余课消金额
    @Excel(name ="剩余课消金额")
    private BigDecimal remainderAmount;

    // 单价
    @Excel(name ="单价")
    private BigDecimal unitPrice;

    @Excel(name ="总价")
    private BigDecimal courseAmount;

    @TableField(exist = false)
    private Integer pageSize;

    @TableField(exist = false)
    private Integer pageNum;

    private String teacherId;

    // 应收金额
    @Excel(name ="应收金额")
    private BigDecimal amount;

    // 实付金额
    @Excel(name ="实付金额")
    private BigDecimal paidAmount;


    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private String startTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private String endTime;

    @Excel(name ="备注")
   private String remark;

    // 过期时间
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate expireDate;

    //课程id
    private String courseId;

    //班级id
    private String classId;
    private Long orgId;


    private String wxParam;

    // 缺课次数
    private Integer absencesNum;

    // 剩余总课时
    private Integer remainderLessonTotal;

    // 剩余课消总金额
    private BigDecimal remainderAmountTotal;

    // 是否结课
    private  Integer exhausted;

    private Integer countLessonTotalNormal;

    private long studentId;

    // 折扣价
    private  BigDecimal discountAmount;

    // 折扣价总
    private  BigDecimal discountAmountTotal;


}
